I'm puzzled with the pointer arithmetic on a static array